package controller;


import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

import model.courtier.DAOFilm;
import model.courtier.DAOClient;
import model.courtier.DAOLocation;
import model.donnee.Client;
import model.donnee.Film;
import model.donnee.FilmLocation;

public class LocationListener extends AbstractCommand {
	
	private int clientID;
	private int filmID;
	private String dateEmpreunt;
	private String dateRetour;
	private String dateRetourEstime;
	private JFrame frame;

	public LocationListener(int idClient, int idFilm, JLabel dateE, JLabel dateR, JLabel dateRE, JFrame frame)
	{
		this.clientID = idClient;
		this.filmID = idFilm;
		this.dateEmpreunt = dateE.getText().replace("Date de location: ", "");
		this.dateRetour = dateR.getText().replace("Date de retour: ", "");
		this.dateRetourEstime = dateRE.getText().replace("Date de retour: ", "");
		this.frame = frame;
	}
	
	public void execute() {
		// Récupère les données du client.
		Client c = DAOClient.getClient(this.clientID);
		
		// Récupère les données du film.
		Film f = DAOFilm.getFilm(this.filmID);
		
		// Construit l'objet filmLocation.
		FilmLocation loc = new FilmLocation(this.dateEmpreunt, this.dateRetour, this.dateRetourEstime, f, c);
		
		// Réalise et valide l'insertion des données.
		if(DAOLocation.insertLocation(loc)){
			JOptionPane.showMessageDialog(frame,
				    "Le film a été loué",
				    "Confirmation",
				    JOptionPane.PLAIN_MESSAGE);
		}else{
			JOptionPane.showMessageDialog(null, "Impossible de louer ce film!");
		}
		frame.setVisible(false);
		frame.dispose();
	}

}
